package com.beans;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.persistence.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 类别表--产品分为几类
 *
 * @author 平台组提供
 * @version 1.0
 * @date 2020/5/21 10:19 上午
 * @since JDK1.8
 */
@Data
@Entity
@Table(name = "category")
public class CategoryEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    /**
     * 父id
     */
    @NotNull(message = "必须传入父级目录ID，顶级目录请传入0")
    private Integer parentId;
    /**
     * 创建更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date createTime;
    /**
     * 状态(0.删除 1.启用)
     */
    @NotNull(message = "目录状态不能为空")
    private Integer state;
    /**
     * 类别名称
     */
    @NotBlank(message = "目录名称不能为空")
    private String text;
    @Transient
    private List<CategoryEntity> children;
}
